|
The Mersenne Twister is a pseudorandom number generator (PRNG). It is by far the most widely used general-purpose PRNG.〔E.g. Marsland S. (2011) ''Machine Learning'' (CRC Press), §4.1.1. Also see the section "Adoption in software systems".〕 Its name derives from the fact that its period length is chosen to be a Mersenne prime. The Mersenne Twister was developed in 1997 by and . It was designed specifically to rectify most of the flaws found in older PRNGs. It was the first PRNG to provide fast generation of high-quality pseudorandom integers. The most commonly used version of the Mersenne Twister algorithm is based on the Mersenne prime 219937−1. The standard implementation of that, MT19937, uses a 32-bit word length. There is another implementation that uses a 64-bit word length, MT19937-64; it generates a different sequence. ==Adoption in software systems== The Mersenne Twister is the default PRNG for the following software systems: R,〔(【引用サイトリンク】work=CRAN Task View: Probability Distributions )〕 Python,〔(【引用サイトリンク】work=Python v2.6.8 documentation )〕〔(【引用サイトリンク】work=Python v3.2 documentation )〕 Ruby,〔(【引用サイトリンク】work=Ruby 1.9.3 documentation )〕 PHP,〔(【引用サイトリンク】work=php documentation )〕 CMU Common Lisp,〔(【引用サイトリンク】work=CMUCL User's Manual )〕 Embeddable Common Lisp,〔(【引用サイトリンク】work=The ECL manual )〕 Steel Bank Common Lisp,〔(【引用サイトリンク】work=SBCL User's Manual )〕 Free Pascal,〔(【引用サイトリンク】work=free pascal documentation )〕 GLib,〔(Random Numbers ) —GLib Reference Manual〕 SageMath,〔(Probability Distributions ) —Sage Reference Manual〕 Maple,〔(【引用サイトリンク】work=Maple Online Help )〕 MATLAB,〔(Random number generator algorithms ) —Documentation Center, MathWorks〕 GAUSS,〔(GAUSS 14 Language Reference )〕 IDL,〔(【引用サイトリンク】work=Exelis VIS Docs Center )〕 Julia,〔(Julia Language Documentation — The Standard Library )〕 Scilab,〔(Random numbers ) —Scilab Help〕 Stata,〔(New random-number generator—64-bit Mersenne Twister )〕 GNU Octave,〔(GNU Octave: §16.3 ) —Built-in Function: rand〕 the GNU Scientific Library,〔(【引用サイトリンク】 work=GNU Scientific Library )〕 the GNU Multiple Precision Arithmetic Library,〔(【引用サイトリンク】 work= GNU MP )〕 and Microsoft Visual C++.〔( It is also available in standard C++ (since C++11)〔(Random Number Generation in C++11 ) —Standard C++ Foundation〕〔(【引用サイトリンク】work=Pseudo Random Number Generation )〕 and Apache.〔(Data Generation ) —Apache Commons Math User Guide〕 Add-on implementations are provided in many program libraries, including the Boost C++ Libraries〔 (【引用サイトリンク】work=Boost C++ Libraries )〕 and the NAG Numerical Library.〔 (【引用サイトリンク】work=NAG Library Chapter Introduction )〕 The Mersenne Twister is one of two PRNGs in SPSS: the other generator is kept only for compatibility with older programs, and the Mersenne Twister is stated to be "more reliable".〔(【引用サイトリンク】 work=IBM SPSS Statistics )〕 The Mersenne Twister is similarly one of the PRNGs in SAS: the other generators are older and deprecated.〔(【引用サイトリンク】 work=SAS Language Reference )〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Mersenne Twister」の詳細全文を読む スポンサード リンク
|